﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Objects;
using DataLayer.Class;
using System.Collections;

namespace DataLayer
{
    public class KullaniciDB
    {
        
        public static ArrayList TumKullanicilariCek(string aranan, int kriter)
        {
            DBConnection cn = new DBConnection();
            IEnumerator<KULLANICI> num = cn.ConnectDB.TumKullanicilariCek(aranan, kriter).GetEnumerator();

            ArrayList kullanicilar = new ArrayList(); 

            while (num.MoveNext())
            {
                Kullanici kullanici = new Kullanici();
                kullanici.KullaniciNo = num.Current.KullaniciNo;
                kullanici.Ad = num.Current.Ad;
                kullanici.Soyad = num.Current.Soyad;
                kullanici.Sifre = num.Current.Sifre;
                kullanici.Yetki = num.Current.Yetki;
                kullanici.EklenmeTarihi = num.Current.EklenmeTarihi;

                kullanicilar.Add(kullanici);
            }

            return kullanicilar;
        }

        public void kullaniciEkle(Kullanici kullanici)
        {
            DBConnection cn = new DBConnection();
            cn.ConnectDB.KullaniciEkle(kullanici.KullaniciNo,kullanici.Ad,kullanici.Soyad,kullanici.Sifre,kullanici.Yetki,kullanici.EklenmeTarihi,Session.kullaniciKodu);
            cn.ConnectDB.SaveChanges();
        }


        public void kullaniciDuzenle(Kullanici kullanici)
        {
            DBConnection cn = new DBConnection();
            cn.ConnectDB.KullaniciDuzenle(kullanici.KullaniciNo, kullanici.Ad, kullanici.Soyad, kullanici.Sifre, kullanici.Yetki,Session.kullaniciKodu);
            cn.ConnectDB.SaveChanges();
        }

        public void kullaniciSil(int kullaniciNo)
        {
            DBConnection cn = new DBConnection();
            cn.ConnectDB.KullaniciSil(kullaniciNo,Session.kullaniciKodu);
            cn.ConnectDB.SaveChanges();
        }

        public static ArrayList girisKontrol(int kullaniciNo, string sifre)
        {
            DBConnection cn = new DBConnection();
            ArrayList al = new ArrayList();
            foreach (KULLANICI k in cn.ConnectDB.KullaniciGirisKontrol(kullaniciNo, sifre))
                al.Add(new Kullanici(k.KullaniciNo,k.Ad,k.Soyad,k.Sifre,k.Yetki));


            return al;
        }
    }
}
